package com.leyou.api;

import com.leyou.domain.db1entity.*;
import com.leyou.domain.vo.*;

import java.util.List;


/**
 * @Author lixin
 * @Date 2018/10/24 0024 9:56
 * @Version 1.0
 * @Description activity业务api
 **/
public interface ActivityService {


    /**
     * @return 查询当前用户名密码的信息条数
     * @Author lixin
     * @Date 9:56 2018/10/24 0024
     * @Param [username, password] 用户名、密码
     * @Description 登录验证
     **/
    int checkUser(Manager manager);


    /**
     * @return 活动信息列表
     * @Author lixin
     * @Date 9:57 2018/10/24 0024
     * @Param [pageNum, pageSize] 页码 页容量
     * @Description 分页查询活动信息
     **/
    List<CouponActivityGetVO> getCouponActivityList(Integer pageNum, Integer pageSize);


    /**
     * @return 活动信息列表
     * @Author lixin
     * @Date 9:58 2018/10/24 0024
     * @Param []
     * @Description 所有活动信息
     **/
    List<Couponactivity> getTotal();

    /**
     * @return int
     * @Author lixin
     * @Date 15:07 2018/10/24 0024
     * @Param [couponActivityPutVo]
     * @Description
     **/
    void putCouponActivity(CouponActivityPutVO couponActivityPutVo);


    /**
     * @return void
     * @Author lixin
     * @Date 13:22 2018/10/25 0025
     * @Param [couponKeyList]
     * @Description 批量验证优惠券
     **/
    void checkCoupon(List<Couponandactivity> couponandactivityList);

    /**
     * @return java.util.List<com.leyou.domain.vo.LogVo>
     * @Author lixin
     * @Date 16:37 2018/10/25 0025
     * @Param []
     * @Description
     **/
    LogVO getLogList(PageVO pageVO);


    /**
     * @return com.leyou.domain.db1entity.Couponactivity
     * @Author lixin
     * @Date 15:48 2018/10/29 0029
     * @Param [couponActivityUpdateVO]
     * @Description 根据活动id查询活动信息
     **/
    Couponactivity getActivityById(String activityKey);


    /**
     * @return void
     * @Author lixin
     * @Date 16:57 2018/10/29 0029
     * @Param [couponActivityUpdateVO]
     * @Description 修改当前活动信息
     **/
    void updateActivity(CouponActivityUpdateVO couponActivityUpdateVO, String a);


    /**
     * @param receiveVO
     * @return boolean
     * @author lixin
     * @date 16:42 2018/11/5 0005
     * @description
     **/
    boolean checkReceive(ReceiveVO receiveVO);

    void putEmailLog(Email email);

    void chekEmail(Email email);

    void putManager(Manager manager);

    void updateManagerTicket(Manager manager);

    Manager getManagerByTicket(String ticket);

    void updateManager(Manager manager);
}

